"""
Celery
    必须先导入工程的配置文件
    创建celery实例
    让celery加载broker
    celery实例对象自动检测
1、任务
    任务包所对应的py文件　必须是tasks.py
    所谓的任务就是函数
    这个函数必须要被celery的实例对象的task装饰器装饰
    这个任务必须被celery实例对象自动检测
２、broker
3、worker-----执行

"""
# import os
# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo_mall.settings")
#

#进行Celery允许配置
# 为celery使用django配置文件进行设置
from celery import Celery
import os

if not os.getenv('DJANGO_SETTINGS_MODULE'):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'meiduo_mall.settings'

# 创建celery实例
#main 唯一　　推荐使用文件路径
app = Celery(main='celery_tasks')

# 让celery加载broker
app.config_from_object('celery_tasks.config')

# celery实例对象自动检测
# 参数是列表
        #列表中需要填写　任务的包路径
# app.autodiscover_tasks(['celery_tasks.sms'])

app.autodiscover_tasks(['celery_tasks.sms','celery_tasks.email','celery_tasks.html'])


#worker
#　需要在虚拟环境中运行
# celery -A celery实例对象所在的文件　worker -l info
# celery -A celery_tasks.main worker -l info



























